package Day18.IO.Writer;

/**
 * @version 1.0
 * @BelongsProject:IntelliJ IDEA
 * @BelongsPackage:Day18.IO.Writer
 * @Author:hyhWTX
 * @ClassName:Demo01Writer
 * @CreateTime:2022年-09月-14日 17:17
 * @Description: TODO (一句话描述以下该类的功能)
 */

import java.io.FileWriter;
import java.io.IOException;

/**
 *java.io.Writer:字符输出流,是所有字符输出流的最顶层的父类,是一个抽象类
 * 共性的成员方法:
 *      - void write(int c)写入单个字符。
 *      - void write( char[] cbuf写入字符数组。
 *      - abstract void write(char[ ] cbuf,int off，int len)写入字符数组的某一部分,of数组的开始索引，len写的字符个数。
 *      - void write(string str)写入字符串。
 *      - void write(String str，int off，int len)写入字符串的某一部分, off字符串的开始索引, len写的字符个数。
 *      - void flush(刷新该流的缓冲。
 *      - void close() 关闭此流，但要先刷新它。
 *
 * java.io.FileWriter extends OutPutStreamWriter extends Writer
 * fileWriter:文件字符输入流
 * 作用：把内存中的字符数据写入到文件中
 *
 * 构造方法：
 *        FiLleWriter(FiLe fiLe)根据给定的File 对象构造一个FileWriter对象。
 *        FileWriter(String fiLeName)根据给定的文件名构造一个FileWriter对象
 *        参数:
 *
 *
 *       写入数据的目的地
 *              String fileName:文件的路径
 *              File file:是一个文件
 *         构造方法的作用:
 *              1.会创建个FileWriter对象
 *              2.会根据构造方法中传进的文件/文件的路径,创建文件
 *              3.会把FileWriter对象指向创建好的文件
 *
 *
 * 字符输出流的使用步骤（重点）
 *      1.创建FileWriter对象,构造方法中绑定要写入数据的目的地
 *      2.使用FileWriter中的方法write,把数据写入到内存缓冲区中(字符转换为字节的过程)
 *      3.使用FileWriter中的万法flush,把内存缓冲区中的数据,刷新到文件中
 *      4.释放资源(会先把内存缓冲区中的数据刷新到文件中)
 *
 */

public class Demo01Writer {
    public static void main(String[] args) throws IOException {
//        1.创建FileWriter对象,构造方法中绑定要写入数据的目的地
        FileWriter fu = new FileWriter("D:\\java黑马\\src\\Day18\\IO\\09_IOAndProperties\\d.txt");
//        2.使用FileWriter中的方法write,把数据写入到内存缓冲区中(字符转换为字节的过程)
//        void writer(int c) 写入单个字符
        fu.write(97);

//        3.使用FileWriter中的万法flush,把内存缓冲区中的数据,刷新到文件中
//        fu.flush();


//        4.释放资源(会先把内存缓冲区中的数据刷新到文件中)
        fu.close();
    }
}
